package pkg

import (
	"flag"
	"strings"
)

// Config 配置信息
type Config struct {
	// Host 本地HTTP监听地址
	Host string
	//Path 文件存放路径相对路径  ./ 开头
	Path string
	//MaxUploadSize 最大上传文件大小 M
	MaxSize float64
}

// MaxUploadSize 最大上传文件大小 字节
func (p *Config) MaxUploadSize() int64 {
	return int64(p.MaxSize * 1024 * 1024)
}

// LoadConfig 读取被指信息
func LoadConfig() *Config {
	config := &Config{}
	flag.StringVar(&config.Host, "h", ":8001", "监听地址")
	flag.StringVar(&config.Path, "p", "./", "共享目录")
	flag.Float64Var(&config.MaxSize, "s", 1.0, "文件上传缓存大小(M)")
	flag.Parse()
	if strings.HasSuffix(config.Path, "/") || strings.HasSuffix(config.Path, "\\") {
	} else if strings.Index(config.Path, "\\") >= 0 {
		config.Path += "\\"
	} else if strings.Index(config.Path, "/") >= 0 {
		config.Path += "/"
	}
	return config
}
